home *** CD-ROM | disk | FTP | other *** search
/ SGI Varsity Update 1998 August / SGI Varsity Update 1998 August.iso / dist / dist6.5 / il_dev.idb / usr / include / il / ilVectorUtil.h.z / ilVectorUtil.h
C/C++ Source or Header  |  1998-07-29  |  4KB  |  98 lines

  1. #if 0 
  2.  
  3.     Copyright (c) 1991 SGI   All Rights Reserved
  4.     THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF SGI
  5.     The copyright notice above does not evidence any
  6.     actual or intended publication of such source code,
  7.     and is an unpublished work by Silicon Graphics, Inc.
  8.     This material contains CONFIDENTIAL INFORMATION that
  9.     is the property of Silicon Graphics, Inc. Any use,
  10.     duplication or disclosure not specifically authorized
  11.     by Silicon Graphics is strictly prohibited.
  12.     
  13.     RESTRICTED RIGHTS LEGEND:
  14.     
  15.     Use, duplication or disclosure by the Government is
  16.     subject to restrictions as set forth in subdivision
  17.     (c)(1)(ii) of the Rights in Technical Data and Computer
  18.     Software clause at DFARS 52.227-7013, and/or in similar
  19.     or successor clauses in the FAR, DOD or NASA FAR
  20.     Supplement.  Unpublished- rights reserved under the
  21.     Copyright Laws of the United States.  Contractor is
  22.     SILICON GRAPHICS, INC., 2011 N. Shoreline Blvd.,
  23.     Mountain View, CA 94039-7311
  24.  
  25. #endif
  26. /*
  27.     Vector utility routines
  28. */
  29.  
  30. #ifndef _ilVectorUtil_h_
  31. #define _ilVectorUtil_h_
  32.  
  33. #if defined(IL2_5_COMPAT)
  34.     #include <il/ilCoord.h>
  35. #endif
  36.  
  37. #include <ifl/iflCoord.h>
  38. #include <il/ilPolyDef.h>
  39.  
  40. #ifdef __cplusplus
  41. extern "C" {
  42. #endif
  43. void ilVClr(float *buf, int stride, int cnt);
  44. void ilVMov(float *inBuf, int inStride, float *outBuf, int outStride, int cnt);
  45. void ilVClip(float *inBuf, int inStride, float *outMin, float *outMax, 
  46.             float *outBuf, int outStride, int cnt);
  47.  
  48. int ilVInRect(iflXYfloat *addr, iflXYfloat *inMin, iflXYfloat *inMax, int cnt);
  49. int ilVOutRect(iflXYfloat *addr, iflXYfloat *inMin, iflXYfloat *inMax, int cnt);
  50.  
  51. void ilVMinMax(float *addr, int cnt, int stride, float *min, float *max);
  52.  
  53. void ilVGPoly(const ilPoly1D *coeff, float uStart, float uStep, 
  54.               float *result, int stride, int count);
  55. void ilVGPoly2D(const ilPoly2D *coeff, float uStart, float v, float uStep, 
  56.                 float *result, int stride, int count);
  57. void ilCVAbs(float *a, int arstride, int aistride, float *c, int cstride, int 
  58.              count);
  59. void ilCVPhas(float *a, int arstride, int aistride, float *c, int cstride, int 
  60.               count);
  61. void ilCRVMul(float *a, int arstride, int aistride, float *b, int bstride,
  62.               float *c, int crstride, int cistride, int count);
  63. void ilCVConj(float *a, int arstride, int aistride, 
  64.               float *c, int crstride, int cistride, int count);
  65. void ilCVSMul(float *a, int arstride, int aistride, float b, 
  66.               float *c, int crstride, int cistride, int count);
  67. void ilPolar(float *a, int arstride, int aistride,  
  68.               float *c, int crstride, int cistride, int count);
  69. void ilVLogz(float *a, int astride, float b, float *c, int cstride, int count); 
  70. void ilVSPow(float *a, int astride, float p, float *c, int cstride, int count);
  71. void ilVExp(float *a, int astride, float *c, int cstride, int count);
  72. void ilVRect(float *a, int arstride, int aistride,  
  73.             float *c, int crstride, int cistride, int count);
  74. void ilCVMul(float *a, int arstride, int aistride, float *b, int brstride, 
  75.              int bistride, float *c, int crstride, int cistride, int count, 
  76.              int iflag);
  77. void ilCVDiv(float *a, int arstride, int aistride, float *b, int brstride, 
  78.              int bistride, float *c, int crstride, int cistride, int count, int check);
  79. void ilVMul(float *a, int astride, float *b, int bstride, float *c, int cstride,            int count); 
  80. void ilVSq(float *a, int astride, float *c, int cstride, int count); 
  81. void ilVAdd(float *a, int astride, float *b, int bstride, float *c, int cstride,            int count); 
  82. void ilVSMul(float *a, int astride, float b, float *c, int cstride, int count);
  83. float** ilMatInv(float **mat, int n);
  84. int ilLUdecomp(float **mat, int n, int *rowperm);
  85. void ilLUlineq(float **lu, int n, int *rowperm, float *b);
  86. float ilCholeskyDecompFloat(float** mat, int n, float* p);
  87. void ilCholeskyBackSubFloat(float** mat, int n, float* p, float* b, float* x);
  88. double ilCholeskyDecompDouble(double** mat, int n, double* p);
  89. void ilCholeskyBackSubDouble(double** mat, int n, double* p, double* b, double* x);
  90. #define ilCholeskyDecomp ilCholeskyDecompFloat
  91. #define ilCholeskyBackSub ilCholeskyBackSubFloat
  92.  
  93. #ifdef __cplusplus
  94. }
  95. #endif
  96.  
  97. #endif
  98.